package cn.xopencode.scoreservice.service.demand;

import cn.xopencode.common.framework.vo.PageResult;
import cn.xopencode.score.api.rpc.demand.dto.ScoreAllDTO;
import cn.xopencode.score.api.rpc.demand.dto.ScoreReqDTO;
import cn.xopencode.score.api.rpc.demand.dto.ScoreRespDTO;
import cn.xopencode.securityservice.rpc.activity.dto.ActivityCreateReqDTO;
import cn.xopencode.securityservice.rpc.suggest.dto.SuggestCreateReqDTO;
import cn.xopencode.securityservice.rpc.violate.dto.ViolateCreateReqDTO;

import java.util.List;


public interface ScoreService {

    /**
     *
     * @return 积分列表
     */
    PageResult<ScoreRespDTO> pageScore(ScoreReqDTO scoreReqDTO);

    /**
     *
     * @param scoreReqDTO 根据日期查询
     * @return  返回积分列表
     */
    ScoreRespDTO getScoreFromDate(ScoreReqDTO scoreReqDTO);

    /**
     *
     * @param id 积分id
     * @return  返回个人积分详情
     */
    List<ScoreAllDTO> getDetailsScore(String id);

    /**
     * 创新与合理化建议
     * @param createDTO
     * @return
     */
    Double addSuggestScore(SuggestCreateReqDTO createDTO);

    /**
     * 安全活动与技能比武情况
     * @param createDTO
     * @return
     */
    Double addActivityScore(ActivityCreateReqDTO createDTO);

    /**
     * 反三违
     * @param createDTO
     */
    void updateViolateScore(ViolateCreateReqDTO createDTO);


}
